Dynamic frequency scaling is a technique that automatically adjusts the frequency of a processor at runtime. An increase in the operating frequency of a processor can ramp up the computing performance. However, a frequency increase means that power consumption of the processor also increases, as the power consumption in an integrated circuit is computed as: P=C×V2×F, where P is the power, C is the capacitance being switched per clock cycle, V is the voltage and F is the frequency. Some modern computer systems have a built-in management framework to manage the tradeoff between performance and power consumption. For example, the management framework may include a power controller that determines at runtime whether to increase or decrease operating frequency in order to satisfy system performance requirements or to save power.
In a multi-cluster computer system that has more than one processor type, the management framework needs to take into consideration both power consumption and performance of each processor type. In a system that allows multiple processor types to operate at the same time, the management framework may set a different operating frequency for each processor type, or may set the same operating frequency for all processor types. Running a system with multiple operating frequencies at the same time generally requires multiple voltage regulators, resulting in higher hardware cost. Running a system with the same operating frequency for all processor types at the same time may compromise the performance of the different processor types. In a system that has multiple processor types but allows only one processor type to operate at a time, the processing capacity of the other processor types is under-utilized even though there may be a high workload demand.
Therefore, there is a need to improve the power and performance management in a multi-cluster system that has more than one processor type.